import { observable, action } from 'mobx';
import {WeaTableNew,WeaForm} from 'comsMobx'
const {TableStore} = WeaTableNew;
import { WeaTools,WeaLocaleProvider } from 'ecCom';
import {message,Modal} from 'antd';
const confirm = Modal.confirm;
import * as Prj_Apis from '../apis/project'
import * as Task_Apis from "../apis/task"
const getLabel = WeaLocaleProvider.getLabel;

/**
 * @author ljc 2017-12-19
 * 项目分享通用store模板，实例：任务执行，项目执行等共享设置modal/
 */
export  class ShareStore{
    @observable title = getLabel(611,"添加")+getLabel(2112,"共享设置");
    shareCondition = [
		{
			"colSpan": 2,
			"conditionType": "SELECT",
			"domkey": [
				"sharetype"
			],
			"fieldcol": 18,
			"isQuickSearch": false,
			"label": getLabel(21956,"对象类型"),
			"labelcol": 6,
			"options": [
				{
					"key": "1",
					"selected": true,
					"showname": getLabel(179,"人力资源")
				}, {
					"key": "5",
					"selected": false,
					"showname": getLabel(141,"分部")
				}, {
					"key": "2",
					"selected": false,
					"showname": getLabel(124,"部门")
				}, {
					"key": "11",
					"selected": false,
					"showname": getLabel(6086,"岗位")
				}, {
					"key": "3",
					"selected": false,
					"showname": getLabel(122,"角色")
				}, {
					"key": "4",
					"selected": false,
					"showname": getLabel(1340,"所有人")
				}
			],
			"viewAttr": 2
		}, {
			"2": [[
					{
						"browserConditionParam": {
							"completeParams": {},
							"conditionDataParams": {},
							"dataParams": {},
							"destDataParams": {},
							"hasAddBtn": false,
							"hasAdvanceSerach": true,
							"idSeparator": ",",
							"isAutoComplete": 1,
							"isDetail": 0,
							"isMultCheckbox": false,
							"isSingle": false,
							"pageSize": 10,
							"quickSearchName": "",
							"type": "57",
							"viewAttr": 3
						},
						"colSpan": 2,
						"conditionType": "BROWSER",
						"domkey": [
							"relatedshareid"
						],
						"fieldcol": 18,
						"isQuickSearch": false,
						"label": getLabel(106,"对象"),
						"labelcol": 6,
						"viewAttr": 3
					}
				],[
					{
						"colSpan": 2,
						"conditionType": "INPUT_INTERVAL",
						"needDefaultValue":false,
						"domkey": [
							"seclevel",
							"seclevelMax"
						],
						"fieldcol": 18,
						"isQuickSearch": false,
						"label": getLabel(683,"安全级别"),
						"labelcol": 6,
						"value": [
							0,
							''
						],
						"viewAttr": 3
					}
				],[
					{
						"colSpan": 2,
						"conditionType": "SELECT",
						"domkey": [
							"sharelevel"
						],
						"fieldcol": 18,
						"isQuickSearch": false,
						"label": getLabel(385,"权限"),
						"labelcol": 6,
						"options": [
							{
								"key": "1",
								"selected": true,
								"showname": getLabel(33564,"查看")
							}, {
								"key": "2",
								"selected": false,
								"showname": getLabel(93,"编辑")
							}
						],
						"viewAttr": 2
					}
				]
			],
			"5": [[
					{
						"browserConditionParam": {
							"completeParams": {},
							"conditionDataParams": {},
							"dataParams": {},
							"destDataParams": {},
							"hasAddBtn": false,
							"hasAdvanceSerach": true,
							"idSeparator": ",",
							"isAutoComplete": 1,
							"isDetail": 0,
							"isMultCheckbox": false,
							"isSingle": false,
							"pageSize": 10,
							"quickSearchName": "",
							"type": "194",
							"viewAttr": 3
						},
						"colSpan": 2,
						"conditionType": "BROWSER",
						"domkey": [
							"relatedshareid"
						],
						"fieldcol": 18,
						"isQuickSearch": false,
						"label": getLabel(106,"对象"),
						"labelcol": 6,
						"value": 3,
						"viewAttr": 2
					}
				],[
					{
						"colSpan": 2,
						"conditionType": "INPUT_INTERVAL",
						"needDefaultValue":false,
						"domkey": [
							"seclevel",
							"seclevelMax"
						],
						"fieldcol": 18,
						"isQuickSearch": false,
						"label": getLabel(683,"安全级别"),
						"labelcol": 6,
						"value": [
							0,
							''
						],
						"viewAttr": 3
					}
				],[
					{
						"colSpan": 2,
						"conditionType": "SELECT",
						"domkey": [
							"sharelevel"
						],
						"fieldcol": 18,
						"isQuickSearch": false,
						"label": getLabel(385,"权限"),
						"labelcol": 6,
						"options": [
							{
								"key": "1",
								"selected": true,
								"showname": getLabel(33564,"查看")
							}, {
								"key": "2",
								"selected": false,
								"showname": getLabel(93,"编辑")
							}
						],
						"viewAttr": 2
					}
				]
			],
			"1": [[
					{
						"browserConditionParam": {
							"completeParams": {},
							"conditionDataParams": {},
							"dataParams": {},
							"destDataParams": {},
							"hasAddBtn": false,
							"hasAdvanceSerach": true,
							"idSeparator": ",",
							"isAutoComplete": 1,
							"isDetail": 0,
							"isMultCheckbox": false,
							"isSingle": false,
							"pageSize": 10,
							"quickSearchName": "",
							"type": "17",
							"viewAttr": 3
						},
						"colSpan": 2,
						"conditionType": "BROWSER",
						"domkey": [
							"relatedshareid"
						],
						"fieldcol": 18,
						"isQuickSearch": false,
						"label": getLabel(106,"对象"),
						"labelcol": 6,
						"viewAttr": 3
					}
				],[
					{
						"colSpan": 2,
						"conditionType": "SELECT",
						"domkey": [
							"sharelevel"
						],
						"fieldcol": 18,
						"isQuickSearch": false,
						"label": getLabel(385,"权限"),
						"labelcol": 6,
						"options": [
							{
								"key": "1",
								"selected": true,
								"showname": getLabel(33564,"查看")
							}, {
								"key": "2",
								"selected": false,
								"showname": getLabel(93,"编辑")
							}
						],
						"viewAttr": 2
					}
				]
			],
			"11": [[
					{
						"browserConditionParam": {
							"completeParams": {},
							"conditionDataParams": {},
							"dataParams": {},
							"destDataParams": {},
							"hasAddBtn": false,
							"hasAdvanceSerach": true,
							"idSeparator": ",",
							"isAutoComplete": 1,
							"isDetail": 0,
							"isMultCheckbox": false,
							"isSingle": false,
							"pageSize": 10,
							"quickSearchName": "",
							"type": "278",
							"viewAttr": 3
						},
						"colSpan": 2,
						"conditionType": "BROWSER",
						"domkey": [
							"relatedshareid"
						],
						"fieldcol": 18,
						"isQuickSearch": false,
						"label": getLabel(106,"对象"),
						"labelcol": 6,
						"viewAttr": 3
					}
				],[
					{
						"colSpan": 2,
						"conditionType": "SELECT_LINKAGE",
						"domkey": [
							"joblevel"
						],
						"fieldcol": 18,
						"isQuickSearch": false,
						"label": getLabel(28169,"岗位级别"),
						"labelcol": 6,
						"options": [
							{
								"key": "0",
								"selected": true,
								"showname": getLabel(140,"总部")
							}, {
								"key": "2",
								"selected": false,
								"showname": getLabel(19437,"指定分部")
							}, {
								"key": "1",
								"selected": false,
								"showname": getLabel(19438,"指定部门")
							}
						],
						"selectLinkageDatas": {
							"1": {
								"browserConditionParam": {
									"completeParams": {},
									"conditionDataParams": {},
									"dataParams": {},
									"destDataParams": {},
									"hasAddBtn": false,
									"hasAdvanceSerach": true,
									"idSeparator": ",",
									"isAutoComplete": 1,
									"isDetail": 0,
									"isMultCheckbox": false,
									"isSingle": false,
									"pageSize": 10,
									"quickSearchName": "",
									"type": "57",
									"viewAttr": 3
								},
								"colSpan": 2,
								"conditionType": "BROWSER",
								"domkey": [
									"jobtitledepartment"
								],
								"fieldcol": 18,
								"isQuickSearch": false,
								"label": "",
								"labelcol": 6,
								"viewAttr": 3
							},
							"2": {
								"browserConditionParam": {
									"completeParams": {},
									"conditionDataParams": {},
									"dataParams": {},
									"destDataParams": {},
									"hasAddBtn": false,
									"hasAdvanceSerach": true,
									"idSeparator": ",",
									"isAutoComplete": 1,
									"isDetail": 0,
									"isMultCheckbox": false,
									"isSingle": false,
									"pageSize": 10,
									"quickSearchName": "",
									"type": "194",
									"viewAttr": 3
								},
								"colSpan": 2,
								"conditionType": "BROWSER",
								"domkey": [
									"jobtitlesubcompany"
								],
								"fieldcol": 18,
								"isQuickSearch": false,
								"label": "",
								"labelcol": 6,
								"viewAttr": 3
							}
						},
						"viewAttr": 2
					}
				],[
					{
						"colSpan": 2,
						"conditionType": "SELECT",
						"domkey": [
							"sharelevel"
						],
						"fieldcol": 18,
						"isQuickSearch": false,
						"label": getLabel(385,"权限"),
						"labelcol": 6,
						"options": [
							{
								"key": "1",
								"selected": true,
								"showname": getLabel(33564,"查看")
							}, {
								"key": "2",
								"selected": false,
								"showname": getLabel(93,"编辑")
							}
						],
						"viewAttr": 2
					}
				]
			],
			"4": [[
					{
						"colSpan": 2,
						"conditionType": "INPUT_INTERVAL",
						"needDefaultValue":false,
						"domkey": [
							"seclevel",
							"seclevelMax"
						],
						"fieldcol": 18,
						"isQuickSearch": false,
						"label": getLabel(683,"安全级别"),
						"labelcol": 6,
						"value": [
							0,
							''
						],
						"viewAttr": 3
					}
				],[
					{
						"colSpan": 2,
						"conditionType": "SELECT",
						"domkey": [
							"sharelevel"
						],
						"fieldcol": 18,
						"isQuickSearch": false,
						"label": getLabel(385,"权限"),
						"labelcol": 6,
						"options": [
							{
								"key": "1",
								"selected": true,
								"showname": getLabel(33564,"查看")
							}, {
								"key": "2",
								"selected": false,
								"showname": getLabel(93,"编辑")
							}
						],
						"viewAttr": 2
					}
				]
			],
			"3": [[
					{
						"browserConditionParam": {
							"completeParams": {},
							"conditionDataParams": {},
							"dataParams": {},
							"destDataParams": {},
							"hasAddBtn": false,
							"hasAdvanceSerach": true,
							"idSeparator": ",",
							"isAutoComplete": 1,
							"isDetail": 0,
							"isMultCheckbox": false,
							"isSingle": true,
							"pageSize": 10,
							"quickSearchName": "",
							"type": "65",
							"viewAttr": 3
						},
						"colSpan": 2,
						"conditionType": "BROWSER",
						"domkey": [
							"relatedshareid"
						],
						"fieldcol": 18,
						"isQuickSearch": false,
						"label": getLabel(106,"对象"),
						"labelcol": 6,
						"viewAttr": 3
					}, {
						"colSpan": 2,
						"conditionType": "SELECT",
						"domkey": [
							"rolelevel"
						],
						"fieldcol": 18,
						"isQuickSearch": false,
						"label": getLabel(139,"级别"),
						"labelcol": 6,
						"options": [
							{
								"key": "0",
								"selected": true,
								"showname": getLabel(124,"部门")
							}, {
								"key": "1",
								"selected": false,
								"showname": getLabel(141,"分部")
							}, {
								"key": "2",
								"selected": false,
								"showname": getLabel(140,"总部")
							}
						],
						"viewAttr": 2
					}
				],[
					{
						"colSpan": 2,
						"conditionType": "INPUT_INTERVAL",
						"needDefaultValue":false,
						"domkey": [
							"seclevel",
							"seclevelMax"
						],
						"fieldcol": 18,
						"isQuickSearch": false,
						"label": getLabel(683,"安全级别"),
						"labelcol": 6,
						"value": [
							0,
							''
						],
						"viewAttr": 3
					}
				],[
					{
						"colSpan": 2,
						"conditionType": "SELECT",
						"domkey": [
							"sharelevel"
						],
						"fieldcol": 18,
						"isQuickSearch": false,
						"label": getLabel(385,"权限"),
						"labelcol": 6,
						"options": [
							{
								"key": "1",
								"selected": true,
								"showname": getLabel(33564,"查看")
							}, {
								"key": "2",
								"selected": false,
								"showname": getLabel(93,"编辑")
							}
						],
						"viewAttr": 2
					}
				]
			]
		}
	]
	datakey = "";
	@observable tableStore = new TableStore();
	@observable rightMenu = [];
	@observable targetid = "";
	@observable type = "";

    @observable visible = false;
   
    @action 
    handleShareDialog = (bool,type,id ,params={}) =>{
		this.visible = bool;
		if(bool){
			if(type == "prj"){
				this.getPrjShareList(type,id ,params={});
			}else if(type == "task"){
				this.getTaskShareList(type,id ,params={});
			}
		}
	}
	//项目
	getPrjShareList=(type,id ,params={})=>{
		this.title = getLabel(101,"项目")+getLabel(2112,"共享设置");
		this.targetid = id;
		this.type = type;
		Prj_Apis.getPrjShare({prjid:id}).then(data=>{
			this.rightMenu = data.rightMenus;
			this.tableStore.getDatas(data.sessionkey,  params.current || 1);
			this.dataKey = data.sessionkey;
		})
	}
	//任务
	getTaskShareList= (type,id ,params={})=>{
		this.title = getLabel(1332,"任务")+getLabel(2112,"共享设置");
		this.targetid = id;
		this.type = type;
		Task_Apis.getTaskShareList({taskid:id}).then(data=>{
			this.rightMenu = data.rightMenus;
			this.tableStore.getDatas(data.sessionkey,  params.current || 1);
			this.dataKey = data.sessionkey;
		})
	}

	//添加共享v
	addShare = (value,type)=>{
		if(type == "prj"){
			Prj_Apis.addPrjShare({...value,method:'add',prjid:this.targetid,opttype:type}).then(data=>{
				this.getPrjShareList(type,this.targetid);
			})
		}else if(type == "task"){			
			Task_Apis.addTaskShare({...value,method:'add',taskid:this.targetid,opttype:type}).then(data=>{
				this.getTaskShareList(type,this.targetid);
			})
		}
	}
	//批量删除
	delBatchShare = (value,type)=>{
		let _this = this;
		Modal.confirm({
            title: getLabel(15172,"系统提示"),
            content: getLabel(83601,"您确认要删除选中的记录吗？"),
            onOk() {
				if(type == "prj"){
					Prj_Apis.delBatchPjrShare({id:value,method:'batchdelete',prjid:_this.targetid,opttype:type}).then(data=>{
						_this.getPrjShareList(type,_this.targetid);
					})
				}else if(type == "task"){			
					Task_Apis.delBatchTaskShare({id:value,method:'batchdelete',taskid:_this.targetid,opttype:type}).then(data=>{
						_this.getTaskShareList(type,_this.targetid);
					})
				}

            },
            onCancel() { },
		})
	}
}